<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
<h:head>

	<style type="text/css">
.ui-layout-north {
	z-index: 20 !important;
	overflow: visible !important;;
}

.ui-layout-north .ui-layout-unit-content {
	overflow: visible !important;
}

.ui-widget {
	font-size: 10px !important;
}

.size {
	width: 600px;
	position: relative;
	left: 30%;
	top: 10%;
}

.centro {
	top: 50%
}

.tabela {
	width: 750px;
}
</style>


	<title>Solicitação de Análise</title>
</h:head>

<h:body>
	<ui:decorate template="/templateBase.xhtml">

		<ui:define name="center">
			<h:form prependId="true" id="formSolicitarAnalise">
				<br />
				<br />

				<p:panel header="Solicitação de Análise" styleClass="size"
					toggleable="true"
					footer="SIGLAS - Sistema de Gerenciamento de Laboratório de Análise de Solo">
					<p:growl id="growl" life="4500" />
					<br />

					<p:tabView>
						<p:tab title="Solicitação">
							<br />
							<div align="center">
								<h:panelGrid columns="3">

									<h:outputText value="Solicitante: " />
									<p:inputText size="50" disabled="true"
										style="text-transform:uppercase"
										value="#{SolicitacaoBacking.nomeSolicitante}" />
									<p:commandButton icon="ui-icon-search"
										oncomplete="dlgPessoa.show()"
										actionListener="#{SolicitacaoBacking.criarListaPessoas}"
										update=":formPesquisa:tabelaPessoa" process="@all"
										immediate="true" title="Pesquisar Cliente" />

									<h:outputText value="Propriedade: " />
									<p:inputText size="50" disabled="true"
										value="#{SolicitacaoBacking.nomePropriedade}"
										id="txtPropriedade" style="text-transform:uppercase" />
									<p:commandButton icon="ui-icon-search" oncomplete="dlg.show()"
										actionListener="#{SolicitacaoBacking.criarListaPropriedade}"
										update=":formPesquisaPropriedade:tabelaPropriedade"
										process="@all" immediate="true" title="Pesquisar Propriedade" />

								</h:panelGrid>
							</div>
							<br />
							<p:separator />
							<h:outputText value="Data da Solicitação:" />

							<div align="center">
								<h:panelGrid columns="2">
									<p:calendar
										value="#{SolicitacaoBacking.solicitacaoSalvar.dataEntrada}"
										required="true"
										requiredMessage="Informe a data da solicitação!" />
								</h:panelGrid>
							</div>

							<br />
							<p:separator />
							<h:outputText value="Status:" />
							<div align="center">
								<p:selectOneRadio
									value="#{SolicitacaoBacking.solicitacaoSalvar.status}"
									required="true"
									requiredMessage="Informe o status da solicitação!">
									<f:selectItem itemLabel="Em processo" itemValue="Em processo" />
									<f:selectItem itemLabel="Cancelada" itemValue="Cancelada" />
									<f:selectItem itemLabel="Finalizada" itemValue="Finalizada" />
								</p:selectOneRadio>
							</div>
							<br />
							<p:separator />
							<br />

						</p:tab>

						<p:tab title="Determinação" rendered="true">


							<h:panelGrid>
								<h:outputText value="Determinacao: " />
							</h:panelGrid>
							<br />

							<div align="center">
								<p:pickList effectSpeed="100" converter="determinacaoConverter"
									value="#{SolicitacaoBacking.determinacoes}" var="det"
									itemValue="#{det}" itemLabel="#{det.descricao}" required="true"
									style="text-align:center"
									requiredMessage="Informe a determinação desejada.">
									<f:facet name="sourceCaption">Lista de Determinação</f:facet>
									<f:facet name="targetCaption">Determinação Selecionada</f:facet>
								</p:pickList>
							</div>
							<br />


						</p:tab>

						<p:tab title="Amostras">

							<h:panelGrid>
								<h:outputText value="Selecione as amostras:" />
							</h:panelGrid>
							<br />

							<div align="center">
								<p:dataTable rows="5" var="a" paginator="true"
									value="#{SolicitacaoBacking.listaAmostra}" id="tabelaAmostra"
									rowKey="#{a.codigo}"
									emptyMessage="Não foi encontrada nenhuma amostra cadastrada para a propriedade informada!"
									selection="#{SolicitacaoBacking.amostraSelecionada}">

									<p:column selectionMode="multiple">

									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Código" />
										</f:facet>
										<h:outputText value="#{a.codigo}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Cultura" />
										</f:facet>
										<h:outputText value="#{a.cultura}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Vegetação" />
										</f:facet>
										<h:outputText value="#{a.vegetacao.descricao}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Topografia" />
										</f:facet>
										<h:outputText value="#{a.topografia.descricao}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Gleba" />
										</f:facet>
										<h:outputText value="#{a.gleba}" />
									</p:column>

								</p:dataTable>
							</div>
							<br />
							<p:separator />
							<br />

						</p:tab>

						<p:tab title="Recomendação">

							<h:panelGrid>
								<h:outputText
									value="Selecione as amostras para qual deseja recomendação:" />
							</h:panelGrid>
							<br />

							<div align="center">
								<p:dataTable rows="5" var="a" paginator="true"
									value="#{SolicitacaoBacking.listaAmostra}" rowKey="#{a.codigo}"
									emptyMessage="Não foi encontrada nenhuma amostra cadastrada para a propriedade informada!"
									selection="#{SolicitacaoBacking.amostraParaRecomendacao}">

									<p:column selectionMode="multiple">

									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Código" />
										</f:facet>
										<h:outputText value="#{a.codigo}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Cultura" />
										</f:facet>
										<h:outputText value="#{a.cultura}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Vegetação" />
										</f:facet>
										<h:outputText value="#{a.vegetacao.descricao}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Topografia" />
										</f:facet>
										<h:outputText value="#{a.topografia.descricao}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Gleba" />
										</f:facet>
										<h:outputText value="#{a.gleba}" />
									</p:column>

								</p:dataTable>
							</div>
							<br />
							<p:separator />
							<br />



						</p:tab>

						<p:tab title="Observações">
							<br />
							<div align="center">
								<p:inputTextarea maxlength="100" rows="5" tabindex="20"
									cols="50"
									value="#{SolicitacaoBacking.solicitacaoSalvar.observacao}"
									autoResize="false" />
							</div>
							<br />
						</p:tab>

						<p:tab title="Meu Boleto">
							<br />
							<h:panelGrid columns="2">
								<h:outputText value="Tabela de Preço: " />
								<p:selectOneMenu effect="fade"
									value="#{SolicitacaoBacking.tipoClienteSelecionado}">
									<f:selectItem itemDisabled="true" itemLabel="Selecione" />
									<f:selectItems value="#{SolicitacaoBacking.listaTipoCliente}" />
								</p:selectOneMenu>
								<h:outputText value="Data de Emissão:" />
								<p:calendar value="#{SolicitacaoBacking.lancamento.dataEmissao}" />
								<h:outputText value="Data de Vencimento:" />
								<p:calendar
									value="#{SolicitacaoBacking.lancamento.dataVencimento}" />
							</h:panelGrid>

							<h:panelGrid columns="3">
								<h:outputText value="Valor Total (R$)........:" />
								<p:inputText disabled="true"
									value="#{SolicitacaoBacking.valorTotal}">
									<f:convertNumber currencySymbol="R$" groupingUsed="true"
										maxFractionDigits="2" type="currency" />
								</p:inputText>

								<p:commandButton icon="ui-icon-calculator"
									actionListener="#{SolicitacaoBacking.calcularPreco}"
									ajax="false" immediate="false"
									title="Calcular Valor da Solicitação" />
							</h:panelGrid>
							<br />
						</p:tab>


					</p:tabView>
					<br />
					<div align="center">
						<h:panelGrid columns="5">
							<p:commandButton value="Salvar" icon="ui-icon-disk"
								actionListener="#{SolicitacaoBacking.salvar}" immediate="false"
								ajax="false" title="Cadastrar Solicitação" />

							<p:commandButton value="Gerar Protocolo" icon="ui-icon-print"
								title="Imprimir Protocolo" ajax="false"
								action="#{SolicitacaoBacking.geraProtocoloSolicitacao}"
								onclick="this.form.target='_blank'" update="growl">
							</p:commandButton>

							<p:commandButton value="Gerar Boleto" icon="ui-icon-print"
								title="Imprimir Boleto" ajax="false"
								action="#{solicitacaoBacking.geraBoletoBancario}" update="growl"
								onclick="this.form.target='_blank'" />

							<p:commandButton value="Limpar Formulário"
								title="Limpar Formulário" />

						</h:panelGrid>
					</div>

				</p:panel>
			</h:form>


			<h:form prependId="false" id="formPesquisa">
				<p:dialog id="pesquisaPessoa" widgetVar="dlgPessoa" modal="true" appendToBody="true"
					header="Pesquisar Pessoa" closable="true" height="400" width="400"
					resizable="false" showEffect="clip" hideEffect="clip">

					<p:dataTable var="p" value="#{SolicitacaoBacking.listaPessoa}"
						rows="10" widgetVar="PessoaTabela" paginator="true"
						id="tabelaPessoa"
						emptyMessage="Nenhum registro foi encontrado, tente novamente!">
						<h:outputText value="Pessoas Cadastradas" />
						<p:column filterBy="#{p.nome}">
							<f:facet name="header">
								<h:outputText value="Nome" />
							</f:facet>
							<h:outputText value="#{p.nome}" />
						</p:column>

						<p:column>
							<div align="center">
								<f:facet name="header">
									<h:outputText value="Ações" />
								</f:facet>

								<p:commandButton value="Selecionar"
									action="#{SolicitacaoBacking.selecionarPessoa(p)}"
									process="@this" update=":formSolicitarAnalise"
									onclick="dlgPessoa.hide()" />
							</div>
						</p:column>
					</p:dataTable>
				</p:dialog>
			</h:form>

			<h:form prependId="false" id="formPesquisaPropriedade">
				<p:dialog id="pesquisaPropriedade" widgetVar="dlg" modal="true" appendToBody="true"
					header="Pesquisar Propriedade" closable="true" height="400"
					width="400" resizable="false" showEffect="clip" hideEffect="clip">

					<p:dataTable var="pr"
						value="#{SolicitacaoBacking.listaPropriedade}" rows="10"
						widgetVar="propriedadeTabela" paginator="true"
						id="tabelaPropriedade"
						emptyMessage="Nenhum registro foi encontrado, tente novamente!">
						<h:outputText value="Propriedades Cadastradas" />
						<p:column filterBy="#{pr.nome}">
							<f:facet name="header">
								<h:outputText value="Nome" />
							</f:facet>
							<h:outputText value="#{pr.nome}" />
						</p:column>

						<p:column>
							<div align="center">
								<f:facet name="header">
									<h:outputText value="Ações" />
								</f:facet>

								<p:commandButton value="Selecionar"
									action="#{SolicitacaoBacking.selecionarPropriedade(pr)}"
									process="@this" update=":formSolicitarAnalise"
									onclick="dlg.hide()">

									<f:setPropertyActionListener
										target="#{SolicitacaoBacking.propriedadeSelect}" value="#{pr}"></f:setPropertyActionListener>

								</p:commandButton>
							</div>
						</p:column>

					</p:dataTable>
				</p:dialog>
			</h:form>
		</ui:define>
	</ui:decorate>
</h:body>
</html>
